package cdu.sl.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.extern.java.Log;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 修改班级信息
 */
@Data
@ApiModel(description = "修改班级信息")
public class ClassGroupUpdateDTO {

    @NotNull(message = "班级id不能为空")
    private Long classId;

    @ApiModelProperty(value = "班级名称", required = true, example = "英语学习小组")
    @NotBlank(message = "班级名称不能为空")
    @Size(max = 100, message = "班级名称长度不能超过100个字符")
    private String name;

    @ApiModelProperty(value = "班级描述", example = "这是一个英语单词学习小组")
    @Size(max = 500, message = "班级描述长度不能超过500个字符")
    private String description;

    @ApiModelProperty(value = "班级封面图片", example = "https://example.com/cover.jpg")
    private String coverImage;

    @ApiModelProperty(value = "学校/组织名称", example = "成都大学")
    @Size(max = 100, message = "学校/组织名称长度不能超过100个字符")
    private String schoolName;

    @ApiModelProperty(value = "年级/学期", example = "2023年秋季学期")
    @Size(max = 50, message = "年级/学期长度不能超过50个字符")
    private String term;

    @ApiModelProperty(value = "是否需要批准加入", example = "false")
    private Boolean requireApproval = false;

    @ApiModelProperty(value = "学习集id列表")
    private List<Long> studySetIds;

}
